﻿Public Class PropertyChangeEventArgs(Of TProperty)
    Inherits EventArgs
    Private _isValide As Boolean
    Private _oldValue As TProperty
    Private _newValue As TProperty
    Public Sub New(ByVal oldValue As TProperty, ByVal newValue As TProperty)
        _oldValue = oldValue
        _newValue = newValue
        If Not _oldValue Is Nothing Then IsValide = Not (oldValue.Equals(newValue)) Else IsValide = True
    End Sub
    Public Property IsValide() As Boolean
        Get
            Return _isValide
        End Get
        Set(ByVal value As Boolean)
            _isValide = value
        End Set
    End Property
    Public ReadOnly Property OldValue() As TProperty
        Get
            Return _oldValue
        End Get
    End Property
    Public Property NewValue() As TProperty
        Get
            Return _newValue
        End Get
        Set(ByVal value As TProperty)
            _newValue = value
        End Set
    End Property
End Class